package com.juli.school.dao.base;

import java.util.List;

/**
 * @Description: 基础mapper接口
 * @author gaoxiang
 * @date 2017年8月23日 下午8:49:23
 */ 
public interface BaseMapper<T extends BaseEntity> {
	
	/**
	 * @Description: 新增1条记录
	 * @author gaoxiang
	 * @date 2017年8月25日 下午11:44:20
	 */
	Integer insert(T t);
	
	/**
	 * @Description: 更新某条记录
	 * @author gaoxiang
	 * @date 2017年8月25日 下午11:44:10
	 */
	Integer update(T t);
	
	/**
	 * @Description: 根据主键删除某条记录
	 * @author gaoxiang
	 * @date 2017年8月25日 下午11:44:00
	 */
	Integer deleteById(Integer id);
	
	/**
	 * @Description: 根据发布编号删除记录
	 * @author gaoxiang
	 * @date 2017年11月22日 下午4:50:22
	 */
	Integer deleteBySnStamp(String snStamp);
	
	/**
	 * @Description: 多条件删除记录
	 * @author gaoxiang
	 * @date 2017年8月25日 下午11:43:47
	 */
	Integer delete(T t);
	
	/**
	 * @Description: 根据主键查询记录
	 * @author gaoxiang
	 * @date 2017年8月25日 下午11:43:35
	 */
	T getById(Integer id);
	
	T getBySnStamp(String snStamp);
	
	/**
	 * @Description: 多条件查询记录
	 * @author gaoxiang
	 * @date 2017年8月25日 下午11:43:21
	 */
	T get(T t);
	
	/**
	 * @Description: 获取所有记录列表
	 * @author gaoxiang
	 * @date 2017年8月25日 下午11:43:00
	 */
	List<T> list(T t);
	
	/**
	 * @Description: 分页获取记录列表
	 * @author gaoxiang
	 * @date 2017年8月25日 下午11:43:07
	 */
	List<T> listPage(T t);
	
}
